package uva.sc.qls.ast;
import uva.sc.qls.logic.*;
import uva.sc.qls.logic.fonts.Arial;
import uva.sc.qls.logic.fonts.Bazooka;
import uva.sc.qls.logic.fonts.BookAntiqua;
import uva.sc.qls.logic.fonts.Courier;
import uva.sc.qls.logic.fonts.Dialog;
import uva.sc.qls.logic.fonts.TimesNewRoman;
import uva.sc.qls.logic.fonts.UndefinedFont;
import uva.sc.qls.logic.style.DefaultStyle;
import uva.sc.qls.logic.style.StyleProperty;
import uva.sc.qls.widgetTypes.Checkbox;
import uva.sc.qls.widgetTypes.Radio;
import uva.sc.qls.widgetTypes.Spinbox;
import uva.sc.qls.widgetTypes.UnidentifiedWidget;
public interface IQLSNodeVisitor<T> {
public T visit(Page page);
public T visit(DefaultStyle defaultStyle);
public T visit(Question question);
public T visit(Section section);
public T visit(SectionBody sectionBody);
public T visit(StyleSheet styleSheet);
public T visit(Widget widget);
public T visit(StyleProperty styleProperty);
public T visit(ID id);
public T visit(UnidentifiedWidget unidentifiedWidget);
public T visit(Checkbox checkbox);
public T visit(Spinbox spinbox);
public T visit(Radio radio);
public T visit(Arial arial);
public T visit(Bazooka bazooka);
public T visit(BookAntiqua bookAntiqua);
public T visit(Courier courier);
public T visit(Dialog dialog);
public T visit(TimesNewRoman timesNewRoman);
public T visit(UndefinedFont undefinedFont);
}